/**
 * from api codebase app/Constants/ErrorCode.php
 */
const enum ServerSideException {
  /**
   * @Message("Server Error！")
   */
  SERVER_ERROR = 500,

  /**
   * @Message("Bad Request！")
   */
  BAD_REQUEST = 400,

  /**
   * @Message("SUCCESS！")
   */
  SUCCESS = 200,

  /**
   * @Message("params error！")
   */
  PARAMS_ERROR = 400001,

  /**
   * @Message("server busy！")
   */
  SERVER_BUSY = 400002,

  /**
   * @Message("token empty")
   */
  TOKEN_EMPTY = 400011,

  /**
   * @Message("token error")
   */
  TOKEN_ERROR = 400012,

  /**
   * @Message("the operation is too frequent, please try again later")
   */
  OPERATION_TOO_FREQUENT = 400013,

  /**
   * @Message("Reach the maximum %s times %s")
   */
  OPERATION_REACH_MAXIMUM = 400014,

  /**
   * @Message("user registered")
   */
  USER_REGISTERED = 400101,

  /**
   * @Message("user regist fail")
   */
  USER_REG_FAIL = 400102,

  /**
   * @Message("account not exists")
   */
  USER_NOT_EXISTED = 400103,

  /**
   * @Message("account exists!")
   */
  USER_EXISTED = 400104,

  /**
   * @Message("account or password error!")
   */
  LOGIN_FAIL = 400105,

  /**
   * @Message("user's mailbox is not authenticated")
   */
  USER_EMAIL_NO_VERIFY = 400106,

  /**
   * @Message("code is expire")
   */
  FORGET_CODE_EXPIRE = 400111,

  /**
   * @Message("code is error")
   */
  FORGET_CODE_ERROR = 400112,

  /**
   * @Message("reset password fail")
   */
  RESET_PASSWORD_FAIL = 400113,

  /**
   * @Message("code is expire!")
   */
  RESET_PASSWORD_CODE_EXPIRE = 400114,

  /**
   * @Message("code is error!")
   */
  RESET_PASSWORD_CODE_ERROR = 400115,

  /**
   * @Message("code is expire!")
   */
  VERIFY_EMAIL_CODE_EXPIRE = 400116,

  /**
   * @Message("code is error!")
   */
  VERIFY_EMAIL_CODE_ERROR = 400117,

  /**
   * @Message("please set account type!")
   */
  ACCOUNT_TYPE_NO_SET = 400118,

  /**
   * @Message("The information provided does not match our records, please check. ")
   */
  COMPANY_VERIFY_FAIL = 400121,

  /**
   * @Message("payment card verify fail")
   */
  PAYMENT_VERIFY_FAIL = 400122,
  /**
   * @Message("The business type is not Sole Proprietorship.")
   */
  BUSINESS_TYPE_NO_SOLE_PROPRIETORSHIP = 400123,
  /**
   * @Message("The email has been sent, please check the mailbox.")
   */
  EMAIL_VERIFIED_HAD_SEND = 400124,

  /**
   * @Message("The forget pwd email send fail!")
   */
  EMAIL_FORGET_PWD_SEND_FAIL = 400125,

  /**
   * @Message("The customer is exists")
   */
  CUSTOMER_EXIST = 400131,

  /**
   * @Message("The location code %s parse fail")
   */
  LOCATION_PARSE_FAIL = 400132,

  /**
   * @Message("The tms customer create fail,err code is %d")
   */
  TMS_CUSTOMER_CREATE_FAIL = 400133,

  /**
   * @Message("The tms user create fail,err is %d")
   */
  TMS_USER_CREATE_FAIL = 400134,

  /**
   * @Message("The tms customer contacts create fail,err is %d")
   */
  TMS_CUSTOMER_CONTACTS_CREATE_FAIL = 400135,

  /**
   * @Message("The tms user create fail")
   */
  WMS_USER_CREATE_FAIL = 400136,
  /**
   * @Message("The sale role does not have a userID pass")
   */
  NO_SET_USERID = 400137,
  /**
   * @Message("The registration information is not completed")
   */
  PROGRESS_BAR_NOT_DONE = 400138,

  /**
   * @Message("BNP push error")
   */
  BNP_PUSH_ERROR = 400139,

  /**
   * @Message("There is no permission to operate")
   */
  OPERATE_ERROR = 400140,

  /**
   * @Message("The account email address has been verified.")
   */
  EMAIL_VERIFIED = 400141,

  /**
   * @Message("The customer is not exists")
   */
  CUSTOMER_NOT_EXIST = 400142,
  /**
   * @Message("user is not assigned to you")
   */
  USER_NOT_ASSIGNED_TO_YOU = 400143,
  /**
   * @Message("user is approved")
   */
  USER_IS_APPROVED = 400144,
  /**
   * @Message("The user is processing")
   */
  USER_IS_PROCESSING = 400145,

  /**
   * @Message("bnp mapping error")
   */
  BNP_MAPPING_ERROR = 400146,

  /**
   * @Message("tms customer pay create error")
   */
  CUSTOMER_PAY_CREATE_FAIL = 400147,

  /**
   * @Message("The register company info is empty")
   */
  USER_REGISTER_COMPANY_EMPTY = 400151,

  /**
   * @Message("The register company name is empty")
   */
  USER_REGISTER_COMPANY_NAME_EMPTY = 400152,

  /**
   * @Message("terimal code search fail")
   */
  TERMINAL_CODE_SEARCH_FAIL = 400161,

  /**
   * @Message("credit card save fail")
   */
  CREDIT_CARD_SAVE_FAIL = 400171,

  /**
   * @Message("password verify fail")
   */
  PASSWORD_VERIFY_FAIL = 400181,

  /**
   * @Message("password update fail")
   */
  PASSWORD_UPDATE_FAIL = 400182,

  /**
   * @Message("guest code error")
   */
  GUEST_CODE_ERROR = 400191,

  /**
   * @Message("user info update error")
   */
  USER_INFO_UPDATE_FAIL = 400192,

  /**
   * @Message("user delete fail")
   */
  USER_INFO_DELETE_FAIL = 400193,

  /**
   * @Message("dot number verify fail")
   */
  BNP_DOT_NUMBER_VERIFY_FAIL = 401001,
}

export { ServerSideException };
